/*
1：安装axios
2:导入axios
3:创建axios副本
4：创建axios的请求拦截与响应拦截
5：暴露axios副本\
// */
import store from '@/store'
import { Message } from 'element-ui'
import axios from 'axios'
const _axios = axios.create({
  withCredentials: true, // 当跨域请求发送cookie
  baseURL: process.env.VUE_APP_URL
})
_axios.interceptors.request.use(
  (config) => {
    config.headers.token = `${store.state.user.token}`
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)
// 响应拦截
_axios.interceptors.response.use(
  (res) => {
    // 接口状态码以2开头走res
    if (res.data.code) {
      return res.data
    } else {
      // 提示一下
      console.log(res)
      Message.error(res.data.message)
      // return undefined
      // 中止接口调用时.then的执行,直接执行.catch
      return Promise.reject(new Error(res.data.message))
    }
  },
  (error) => {
    // 接口状态码以非2开头走error
    return Promise.reject(error)
  }
)
export default _axios
